package com.qwt.part_time_api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qwt.part_time_api.pojo.Task;
import com.qwt.part_time_api.vo.TaskDetailVo;
import com.qwt.part_time_api.vo.TaskListVo;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @Author 君子慎独
 * @create 2021/12/23 0023 23:10
 */

public interface TaskMapper extends BaseMapper<Task> {
    /**
     * 根据页数查询任务列表
     *
     * @param page   分页
     * @param order  排序
     * @param region 城市
     * @return TaskListVo
     */
    IPage<TaskListVo> findTaskListByPage(Page<TaskListVo> page,
                                         String order,
                                         String region);

    /**
     * 筛选
     *
     * @param page     分页
     * @param order    排序
     * @param tId      分类ID
     * @param sId      种类ID
     * @param areaCode 区县
     * @param region   城市
     * @param title    搜索关键词
     * @return TaskListVo
     */
    IPage<TaskListVo> findTaskListByFilter(Page<TaskListVo> page,
                                           String order,
                                           Long tId,
                                           Long sId,
                                           String areaCode,
                                           String region,
                                           String title);

    /**
     * 商家推荐
     *
     * @param id id
     * @return TaskListVo
     */
    List<TaskListVo> findTaskListByMerchantsId(Long id);

    /**
     * 任务详情
     *
     * @param id 任务id
     * @return 详情
     */
    TaskDetailVo findTaskDetailById(Long id);
}
